package com.tiancheng.trade.order.mapper;

import com.tiancheng.trade.order.bo.SubOrderRefundBO;
import com.tiancheng.trade.order.model.SubOrder;
import com.tiancheng.trade.order.model.join.SubOrderJoin;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 子订单持久化接口
 *
 * @author kellen
 * @date 2024-03-02
 */
@Repository
public interface SubOrderMapper extends TYBaseMapper<SubOrder> {

    /**
     * 批量保存子订单实体
     *
     * @param subOrders
     * @return
     */
    int saveBatch(List<SubOrder> subOrders);

    /**
     * 子订单退款
     *
     * @param list
     * @return
     */
    int refundOrdersDetail(@Param("list")List<SubOrderRefundBO> list);

    /**
     * 获取指定子订单，并关联主订单、优惠券
     *
     * @param subOrderId
     * @return
     */
    SubOrderJoin getWithJoin(@Param("subOrderId") String subOrderId);

    /**
     * 按月查询子订单信息
     *
     * @param date
     * @return
     */
    List<SubOrder> findSubOrderByDate(@Param("date") String date);

}